def binary_search(a_list, item):
    if a_list is []:
        return False
    else:
        midpoint = len(a_list) // 2
        if item == a_list[midpoint]:
            return True
        else:
            if item < a_list[midpoint]:
                return binary_search(a_list[:midpoint], item)
            else:
                return binary_search(a_list[midpoint+1:], item)


if __name__ == '__main__':
    a_list = [1, 11, 23, 1, 6, 5, 44]
    a_list.sort()
    print(binary_search(a_list, 11))
    print(binary_search(a_list, 12))